package pl.vm.domain.interfaces;

import java.util.Set;

import pl.vm.domain.Player;
import pl.vm.domain.Statistics;
import pl.vm.domain.VirtualTeam;
import pl.vm.domain.exceptions.InvalidStateException;

public interface Round {
	Statistics getPlayerStatistics(Player player);
	Double getPointsForPlayer(Player player);
	void setPlayerStatistics(Player player, Statistics stats) throws InvalidStateException;
	int getNumber();
	void setNumber(int number);
	void freeze() throws InvalidStateException;
	void close() throws InvalidStateException;
	Set<VirtualTeam> getTeams();
	boolean addTeam(VirtualTeam team) throws InvalidStateException;
	boolean changeTeam(VirtualTeam oldTeam, VirtualTeam newTeam) throws InvalidStateException;
	Classification getClassification();
}
